]> dgit.raspbian.org Git - pcre2.git/commitdiff
pcre2 (10.48-3.1) unstable; urgency=medium
authorSalvatore Bonaccorso <carnil@debian.org>
Mon, 28 Sep 2026 14:04:18 +0000 (16:04 +0200)
committerSalvatore Bonaccorso <carnil@debian.org>
Mon, 28 Sep 2026 14:04:18 +0000 (16:04 +0200)
  * Non-maintainer upload.
  * GHSA-r9hj-j2rw-4q3m: Fix large JIT stack allocation (Closes: #1149217)
  * For release, revert platform-specific test case

[dgit import package pcre2 10.48-3.1]

25 files changed:
debian/README.Debian [new file with mode: 0644]
debian/README.source [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/gbp.conf [new file with mode: 0644]
debian/libpcre2-16-0.install [new file with mode: 0644]
debian/libpcre2-16-0.symbols [new file with mode: 0644]
debian/libpcre2-32-0.install [new file with mode: 0644]
debian/libpcre2-32-0.symbols [new file with mode: 0644]
debian/libpcre2-8-0-udeb.install [new file with mode: 0644]
debian/libpcre2-8-0.install [new file with mode: 0644]
debian/libpcre2-8-0.symbols [new file with mode: 0644]
debian/libpcre2-dev.install [new file with mode: 0644]
debian/libpcre2-dev.lintian-overrides [new file with mode: 0644]
debian/libpcre2-dev.manpages [new file with mode: 0644]
debian/libpcre2-posix3.install [new file with mode: 0644]
debian/libpcre2-posix3.symbols [new file with mode: 0644]
debian/not-installed [new file with mode: 0644]
debian/pcre2-utils.install [new file with mode: 0644]
debian/rules [new file with mode: 0755]
debian/source/format [new file with mode: 0644]
debian/watch [new file with mode: 0644]
pcre2-config.in
src/pcre2_jit_compile.c

diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644 (file)
index 0000000..8c23e75
--- /dev/null
@@ -0,0 +1,12 @@
+                          PCRE2 for Debian
+                          ----------------
+
+This is PCRE2, the newer version of the PCRE (perl-compatible regular
+expression) library. New projects should use this library in
+preference the older PCRE library (which is, for historical reasons,
+called pcre3 in Debian).
+
+The names of functions in libpcre2-posix are prefixed with PCRE2_, so
+they don't clash with the names in libc.
+
+ -- Matthew Vernon <matthew@debian.org>, Sun, 22 Nov 2015 16:07:27 +0000
diff --git a/debian/README.source b/debian/README.source
new file mode 100644 (file)
index 0000000..193dde4
--- /dev/null
@@ -0,0 +1,17 @@
+The Debian packaging of pcre2 is maintained in git, using the merging
+workflow described in dgit-maint-merge(7).  There isn't a patch
+queue that can be represented as a quilt series.
+
+A detailed breakdown of the changes is available from their
+canonical representation - git commits in the packaging repository.
+For example, to see the changes made by the Debian maintainer in
+the first upload of upstream version 1.2.3, you could use:
+
+    % git clone https://git.dgit.debian.org/pcre2
+    % cd pcre2
+    % git log --oneline 1.2.3..debian/1.2.3-1 -- . ':!debian'
+
+(If you have dgit, use `dgit clone pcre2`, rather than plain `git
+clone`.)
+
+ -- Matthew Vernon <matthew@debian.org>, Thu, 30 Nov 2017 14:16:33 +0000
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..44acbd5
--- /dev/null
@@ -0,0 +1,370 @@
+pcre2 (10.48-3.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * GHSA-r9hj-j2rw-4q3m: Fix large JIT stack allocation (Closes: #1149217)
+  * For release, revert platform-specific test case
+
+ -- Salvatore Bonaccorso <carnil@debian.org>  Mon, 28 Sep 2026 16:04:18 +0200
+
+pcre2 (10.48-3) unstable; urgency=medium
+
+  * Bump dh compat to 13 (with some changes to rules file)
+
+ -- Matthew Vernon <matthew@debian.org>  Sat, 12 Sep 2026 15:45:16 +0100
+
+pcre2 (10.48-2) unstable; urgency=high
+
+  * remove unnecessary libS logic from pcre2-config.in (closes: #1146381)
+
+ -- Matthew Vernon <matthew@debian.org>  Tue, 01 Sep 2026 12:54:23 +0100
+
+pcre2 (10.48-1) unstable; urgency=high
+
+  * New upstream release
+
+ -- Matthew Vernon <matthew@debian.org>  Mon, 31 Aug 2026 21:37:22 +0100
+
+pcre2 (10.48~rc1-1) experimental; urgency=medium
+
+  * New upstream version (RC, for testing)
+
+ -- Matthew Vernon <matthew@debian.org>  Tue, 25 Aug 2026 16:30:31 +0100
+
+pcre2 (10.47-2) experimental; urgency=medium
+
+  * Undo symbol versioning at least for now (Closes: #1119027)
+
+ -- Matthew Vernon <matthew@debian.org>  Mon, 27 Oct 2025 11:06:43 +0000
+
+pcre2 (10.47-1) experimental; urgency=medium
+
+  * New upstream version (Closes: #902060)
+
+ -- Matthew Vernon <matthew@debian.org>  Tue, 21 Oct 2025 11:09:46 +0100
+
+pcre2 (10.46-1) unstable; urgency=high
+
+  * New upstream release to fix CVE-2025-58050 (Closes: #1112278)
+
+ -- Matthew Vernon <matthew@debian.org>  Thu, 28 Aug 2025 08:32:30 +0100
+
+pcre2 (10.45-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Matthew Vernon <matthew@debian.org>  Wed, 05 Feb 2025 09:25:16 +0000
+
+pcre2 (10.45~rc1-1) experimental; urgency=medium
+
+  * Upstream RC1 for 10.45 version
+
+ -- Matthew Vernon <matthew@debian.org>  Thu, 23 Jan 2025 09:49:13 +0000
+
+pcre2 (10.44-5) unstable; urgency=medium
+
+  * Enable JIT on loong64 (Closes: #1089230)
+
+ -- Matthew Vernon <matthew@debian.org>  Sun, 08 Dec 2024 13:05:09 +0000
+
+pcre2 (10.44-4) unstable; urgency=medium
+
+  * Disable JIT on armel (it requires v7) (Closes: 1087563)
+
+ -- Matthew Vernon <matthew@debian.org>  Fri, 15 Nov 2024 15:53:09 +0000
+
+pcre2 (10.44-3) unstable; urgency=medium
+
+  * Use dh_autoreconf to fix FTBFS on mips64el (Closes: #1087562)
+  * Cherry-pick upstream commit to fix 32-bit issue (Closes: #1087564)
+
+ -- Matthew Vernon <matthew@debian.org>  Fri, 15 Nov 2024 14:47:09 +0000
+
+pcre2 (10.44-2) unstable; urgency=medium
+
+  * Upload to unstable (Closes: #1086187)
+  * Update homepage URL (Closes: #1073087)
+  * Mention libre2-dev in libpcre2-dev description (Closes: #1082901)
+
+ -- Matthew Vernon <matthew@debian.org>  Thu, 14 Nov 2024 11:40:06 +0000
+
+pcre2 (10.44-1) experimental; urgency=medium
+
+  * New upstream version
+
+ -- Matthew Vernon <matthew@debian.org>  Fri, 08 Nov 2024 16:27:46 +0000
+
+pcre2 (10.43-1) experimental; urgency=medium
+
+  * New upstream version
+
+ -- Matthew Vernon <matthew@debian.org>  Sat, 17 Feb 2024 10:22:28 +0000
+
+pcre2 (10.42-4) unstable; urgency=medium
+
+  * Build with JIT support on riscv64 (Closes: #1050819)
+
+ -- Matthew Vernon <matthew@debian.org>  Tue, 29 Aug 2023 18:23:44 +0100
+
+pcre2 (10.42-3) unstable; urgency=medium
+
+  * Specify source format 1.0 explicitly (Closes: #1049910)
+
+ -- Matthew Vernon <matthew@debian.org>  Mon, 21 Aug 2023 11:44:09 +0100
+
+pcre2 (10.42-2) unstable; urgency=medium
+
+  * disable JIT on sparc (Closes: #1034779)
+
+ -- Matthew Vernon <matthew@debian.org>  Tue, 11 Jul 2023 23:11:09 +0100
+
+pcre2 (10.42-1) unstable; urgency=medium
+
+  * New upstream version
+
+ -- Matthew Vernon <matthew@debian.org>  Sun, 01 Jan 2023 15:44:06 +0000
+
+pcre2 (10.40-3) unstable; urgency=medium
+
+  * Support the noudeb build profile (Helmut Grohne). (Closes: #1024941)
+
+ -- Matthew Vernon <matthew@debian.org>  Fri, 02 Dec 2022 17:40:13 +0000
+
+pcre2 (10.40-2) unstable; urgency=low
+
+  * Move to machine-readable copyright file (Bastian Germann)
+  * Remove filenamemangle from debian/watch (Bastian Germann)
+
+ -- Matthew Vernon <matthew@debian.org>  Sun, 23 Oct 2022 16:07:18 +0100
+
+pcre2 (10.40-1) unstable; urgency=medium
+
+  * New upstream release
+  * Update watch file to note new upstream repo location
+
+ -- Matthew Vernon <matthew@debian.org>  Mon, 25 Apr 2022 17:10:36 +0100
+
+pcre2 (10.39-4) unstable; urgency=medium
+
+  * Backport upstream Hurd build fix (Closes: #1009066)
+
+ -- Matthew Vernon <matthew@debian.org>  Mon, 11 Apr 2022 09:23:48 +0100
+
+pcre2 (10.39-3) unstable; urgency=medium
+
+  * Enable JIT on s390x (Closes: #999836)
+  * Re-enable JIT on MIPS (Closes: #892488)
+
+ -- Matthew Vernon <matthew@debian.org>  Wed, 17 Nov 2021 14:52:42 +0000
+
+pcre2 (10.39-2) unstable; urgency=medium
+
+  * Update long descriptions of runtime packages (Closes: #978013)
+  * Source-only upload (-1 was binary to get through NEW)
+  * Depend on libc-dev rather than libc6-dev (Closes: #989729)
+
+ -- Matthew Vernon <matthew@debian.org>  Mon, 08 Nov 2021 23:47:21 +0000
+
+pcre2 (10.39-1) unstable; urgency=medium
+
+  * New upstream release
+  * Update watch file to reflect new upstream home on github
+  * libpcre2-posix soname updated
+
+ -- Matthew Vernon <matthew@debian.org>  Sat, 06 Nov 2021 13:56:27 +0000
+
+pcre2 (10.36-2) unstable; urgency=medium
+
+  * Upload to unstable
+
+ -- Matthew Vernon <matthew@debian.org>  Sun, 13 Dec 2020 16:23:03 +0000
+
+pcre2 (10.36-1) experimental; urgency=medium
+
+  * New upstream version
+  * Fix watch file
+
+ -- Matthew Vernon <matthew@debian.org>  Mon, 07 Dec 2020 12:35:19 +0000
+
+pcre2 (10.35-2) unstable; urgency=medium
+
+  * Upload to unstable
+
+ -- Matthew Vernon <matthew@debian.org>  Fri, 04 Dec 2020 09:52:04 +0000
+
+pcre2 (10.35-1) experimental; urgency=medium
+
+  * New upstream version
+  * Bump standards-version to 4.5.1
+
+ -- Matthew Vernon <matthew@debian.org>  Fri, 27 Nov 2020 09:25:08 +0000
+
+pcre2 (10.34-7) unstable; urgency=medium
+
+  * Upstream patch to fix segfault in rspamd (Closes: #946221)
+
+ -- Matthew Vernon <matthew@debian.org>  Sat, 07 Dec 2019 17:06:59 +0000
+
+pcre2 (10.34-6) unstable; urgency=high
+
+  * Replace: and Conflict: the previous libpcre2-posix0 package (which
+    erroneously had the soname 2 library in) (Closes: #946279, #946290, #946311)
+  * Can now make a source-only upload now libpcre2-posix2 has made it
+    through NEW. We need that so we can migrate to testing (Closes: #946275)
+
+ -- Matthew Vernon <matthew@debian.org>  Sat, 07 Dec 2019 14:34:25 +0000
+
+pcre2 (10.34-5) unstable; urgency=medium
+
+  * Sacrifice an integer so I can do a binary upload for the new
+    libpcre2-posix package name :-(
+
+ -- Matthew Vernon <matthew@debian.org>  Tue, 03 Dec 2019 21:14:29 +0000
+
+pcre2 (10.34-4) unstable; urgency=high
+
+  * Add symbols files (Closes: #945973)
+  * Update libpcre2-posix name to match soname
+
+ -- Matthew Vernon <matthew@debian.org>  Tue, 03 Dec 2019 19:20:54 +0000
+
+pcre2 (10.34-3) unstable; urgency=medium
+
+  * Remove -dbg package from debian/control as well
+
+ -- Matthew Vernon <matthew@debian.org>  Mon, 02 Dec 2019 11:58:33 +0000
+
+pcre2 (10.34-2) unstable; urgency=high
+
+  * Try an upstream patch to fix an ARM bug (apropos 945972)
+  * Remove -dbg in favour of -dbgsyms, thanks to Michael Biebl
+    <biebl@debian.org> for the patch (Closes: #891624)
+
+ -- Matthew Vernon <matthew@debian.org>  Mon, 02 Dec 2019 11:22:32 +0000
+
+pcre2 (10.34-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Matthew Vernon <matthew@debian.org>  Thu, 28 Nov 2019 16:28:31 +0000
+
+pcre2 (10.32-5) unstable; urgency=high
+
+  * Patch from Guillem Jover <guillem@debian.org> to only use SSE2
+    instructions on those i386 CPUs that support them (Closes: #925360)
+
+ -- Matthew Vernon <matthew@debian.org>  Mon, 25 Mar 2019 19:56:19 +0000
+
+pcre2 (10.32-4) unstable; urgency=medium
+
+  * Take patch from Jeremy Bicha to build with
+    --disable-pcre2grep-callout: A grep tool should not be expected to
+    execute commands (Closes: #920273) (LP: #1636666)
+
+ -- Matthew Vernon <matthew@debian.org>  Thu, 24 Jan 2019 09:20:51 +0000
+
+pcre2 (10.32-3) unstable; urgency=medium
+
+  * Sacrifice an integer to dgit (previous upload didn't work)
+
+ -- Matthew Vernon <matthew@debian.org>  Sun, 28 Oct 2018 14:19:04 +0000
+
+pcre2 (10.32-2) unstable; urgency=medium
+
+  * Take Ondřej Nový's patch to remove redundant Priority field in -dbg
+    package
+
+ -- Matthew Vernon <matthew@debian.org>  Fri, 26 Oct 2018 20:01:53 +0100
+
+pcre2 (10.32-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- Matthew Vernon <matthew@debian.org>  Fri, 26 Oct 2018 19:27:13 +0100
+
+pcre2 (10.31-3) unstable; urgency=medium
+
+  * Disable JIT on mips* (apropos #892488)
+
+ -- Matthew Vernon <matthew@debian.org>  Sat, 10 Mar 2018 00:31:33 +0000
+
+pcre2 (10.31-2) unstable; urgency=low
+
+  * Point to salsa repo in vcs* fields
+  * priority extra -> optional
+  * Add homepage link in debian/control
+  * Update to newer standards-version
+
+ -- Matthew Vernon <matthew@debian.org>  Sat, 24 Feb 2018 14:57:26 +0000
+
+pcre2 (10.31-1) unstable; urgency=medium
+
+  * New upstream version (Closes: #883224)
+
+ -- Matthew Vernon <matthew@debian.org>  Sat, 24 Feb 2018 12:13:02 +0000
+
+pcre2 (10.22-6) unstable; urgency=medium
+
+  [ Cyril Brulebois ]
+  * Add a libpcre2-8-0-udeb, needed by vte2.91 (Closes: #887674)
+  * Enable parallel building.
+
+ -- Matthew Vernon <matthew@debian.org>  Sat, 03 Feb 2018 18:44:08 +0000
+
+pcre2 (10.22-5) unstable; urgency=medium
+
+  * Add Vcs-{Git,Browser} fields to debian/control
+
+ -- Matthew Vernon <matthew@debian.org>  Fri, 01 Dec 2017 17:35:06 +0000
+
+pcre2 (10.22-4) unstable; urgency=low
+
+  * Add README.source explaining packaging workflow (Closes: #862425)
+
+ -- Matthew Vernon <matthew@debian.org>  Thu, 30 Nov 2017 14:17:39 +0000
+
+pcre2 (10.22-3) unstable; urgency=medium
+
+  * CVE-2017-7186: invalid Unicode property lookup may cause denial of
+    service (Closes: #858233)
+
+ -- Matthew Vernon <matthew@debian.org>  Tue, 21 Mar 2017 22:33:58 +0000
+
+pcre2 (10.22-2) unstable; urgency=low
+
+  * re-upload with source :-(
+
+ -- Matthew Vernon <matthew@debian.org>  Tue, 02 Aug 2016 19:27:58 +0100
+
+pcre2 (10.22-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Matthew Vernon <matthew@debian.org>  Tue, 02 Aug 2016 18:59:19 +0100
+
+pcre2 (10.21-1) unstable; urgency=low
+
+  * New upstream version
+  * Upstream patch to fix workspace overflow for (*ACCEPT) with deeply
+    nested parentheses (Closes: #815920)
+
+ -- Matthew Vernon <matthew@debian.org>  Sat, 27 Feb 2016 15:21:34 +0000
+
+pcre2 (10.20-3) unstable; urgency=low
+
+  * Enable JIT on ppc64 & ppc64el (Closes: #806388)
+
+ -- Matthew Vernon <matthew@debian.org>  Fri, 27 Nov 2015 08:16:38 +0000
+
+pcre2 (10.20-2) unstable; urgency=low
+
+  * remove unnecessary -L settings (Closes: #805941)
+  * Improve makefile syntax, and add JIT on arm64
+
+ -- Matthew Vernon <matthew@debian.org>  Tue, 24 Nov 2015 20:39:15 +0000
+
+pcre2 (10.20-1) unstable; urgency=low
+
+  * Initial debian version (Closes: #805728)
+
+ -- Matthew Vernon <matthew@debian.org>  Sun, 22 Nov 2015 15:58:38 +0000
+
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..c516583
--- /dev/null
@@ -0,0 +1,121 @@
+Source: pcre2
+Section: libs
+Priority: optional
+Maintainer:  Matthew Vernon <matthew@debian.org>
+Standards-Version: 4.5.1
+Build-Depends: debhelper-compat (=13), dpkg-dev (>= 1.16.1~)
+Vcs-Git: https://salsa.debian.org/debian/pcre2.git
+Vcs-Browser: https://salsa.debian.org/debian/pcre2
+Homepage: https://github.com/PCRE2Project/pcre2
+
+Package: libpcre2-8-0
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Description: New Perl Compatible Regular Expression Library- 8 bit runtime files
+ This is PCRE2, the new implementation of PCRE, a library of functions
+ to support regular expressions whose syntax and semantics are as
+ close as possible to those of the Perl 5 language. New projects
+ should use this library in preference to the older library,
+ confusingly called pcre3 in Debian.
+ .
+ This package contains the 8 bit runtime library, which operates on
+ ASCII and UTF-8 input.
+
+Package: libpcre2-8-0-udeb
+Package-Type: udeb
+Build-Profiles: <!noudeb>
+Section: debian-installer
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: New Perl Compatible Regular Expression Library- 8 bit runtime files (udeb)
+ This package contains the 8 bit runtime library, for the Debian Installer.
+
+Package: libpcre2-16-0
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Description: New Perl Compatible Regular Expression Library - 16 bit runtime files
+ This is PCRE2, the new implementation of PCRE, a library of functions
+ to support regular expressions whose syntax and semantics are as
+ close as possible to those of the Perl 5 language. New projects
+ should use this library in preference to the older library,
+ confusingly called pcre3 in Debian.
+ .
+ This package contains the 16 bit runtime library, which operates on
+ UTF-16 input.
+
+Package: libpcre2-32-0
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Description: New Perl Compatible Regular Expression Library - 32 bit runtime files
+ This is PCRE2, the new implementation of PCRE, a library of functions
+ to support regular expressions whose syntax and semantics are as
+ close as possible to those of the Perl 5 language. New projects
+ should use this library in preference to the older library,
+ confusingly called pcre3 in Debian.
+ .
+ This package contains the 32 bit runtime library, which operates on
+ UTF-32 input.
+
+Package: libpcre2-posix3
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Replaces: libpcre2-posix0
+Conflicts: libpcre2-posix0
+Description: New Perl Compatible Regular Expression Library - posix-compatible runtime files
+ This is PCRE2, the new implementation of PCRE, a library of functions
+ to support regular expressions whose syntax and semantics are as
+ close as possible to those of the Perl 5 language. New projects
+ should use this library in preference to the older library,
+ confusingly called pcre3 in Debian.
+ .
+ This package contains the runtime library for the posix-compatible API.
+
+Package: libpcre2-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Conflicts: libpcre3-dev (<<2:8.35-8)
+Depends: libc-dev, libpcre2-8-0 (= ${binary:Version}), libpcre2-16-0 (= ${binary:Version}), libpcre2-32-0 (= ${binary:Version}), libpcre2-posix3 (= ${binary:Version}), ${misc:Depends}
+Description: New Perl Compatible Regular Expression Library - development files
+ This is PCRE2, the new implementation of PCRE, a library of functions
+ to support regular expressions whose syntax and semantics are as
+ close as possible to those of the Perl 5 language. New projects
+ should use this library in preference to the older library,
+ confusingly called pcre3 in Debian.
+ .
+ Unlike the previous version of PCRE, there is no C++ library included
+ with PCRE2. Users who wish to avoid porting their C++ code to use the
+ PCRE2 C API might want to consider the libre2-dev package in Debian
+ which attempts to provide a similar C++ API to that provided by
+ libpcrecpp in previous versions of PCRE.
+ .
+ This package contains the development files, including headers,
+ static libraries, and documentation.
+
+Package: pcre2-utils
+Section: utils
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: New Perl Compatible Regular Expression Library - utilities
+ This is PCRE2, the new implementation of PCRE, a library of functions
+ to support regular expressions whose syntax and semantics are as
+ close as possible to those of the Perl 5 language. New projects
+ should use this library in preference to the older library,
+ confusingly called pcre3 in Debian.
+ .
+ This package contains the utilities pcre2grep (like grep with PCRE)
+ and pcre2test (a test program for the library, but also useful for
+ experimenting with regular expressions). Both programs are also
+ useful examples of programming with libpcre2.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..66e9582
--- /dev/null
@@ -0,0 +1,122 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Comment: This package was debianized by Matthew Vernon <matthew@debian.org>
+Source: https://github.com/PCRE2Project/pcre2/releases
+
+Files: *
+Copyright: 1997-2022 University of Cambridge.
+License: BSD-3-clause-Cambridge with BINARY LIBRARY-LIKE PACKAGES exception
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+ .
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+ .
+    * Neither the name of the University of Cambridge nor the names of any
+      contributors may be used to endorse or promote products derived from this
+      software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+ .
+ .
+ EXEMPTION FOR BINARY LIBRARY-LIKE PACKAGES
+ ------------------------------------------
+ .
+ The second condition in the BSD licence (covering binary redistributions) does
+ not apply all the way down a chain of software. If binary package A includes
+ PCRE2, it must respect the condition, but if package B is software that
+ includes package A, the condition is not imposed on package B unless it uses
+ PCRE2 independently.
+
+Files: cmake/Find*
+Copyright: KDE Community
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ 1. Redistributions of source code must retain the copyright
+    notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+ 3. The name of the author may not be used to endorse or promote products
+    derived from this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Files: install-sh
+Copyright: (C) 1994 X Consortium
+License: X11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+ X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+ TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ .
+ Except as contained in this notice, the name of the X Consortium shall not
+ be used in advertising or otherwise to promote the sale, use or other deal-
+ ings in this Software without prior written authorization from the X Consor-
+ tium.
+Comment: FSF changes to this file are in the public domain.
+
+Files: deps/sljit/*
+Copyright: Zoltan Herczeg (hzmester@freemail.hu). All rights reserved.
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without modification, are
+ permitted provided that the following conditions are met:
+ .
+   1. Redistributions of source code must retain the above copyright notice, this list of
+      conditions and the following disclaimer.
+ .
+   2. Redistributions in binary form must reproduce the above copyright notice, this list
+      of conditions and the following disclaimer in the documentation and/or other materials
+      provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND CONTRIBUTORS ``AS IS'' AND ANY
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+ SHALL THE COPYRIGHT HOLDER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Files: testdata/*
+Copyright: None (public-domain)
+License: public-domain
+ The data in the testdata directory is not copyrighted and is in the public domain.
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644 (file)
index 0000000..ffb5934
--- /dev/null
@@ -0,0 +1,8 @@
+[DEFAULT]
+upstream-branch = upstream
+debian-branch = master
+upstream-tag = %(version)s
+
+sign-tags = False
+pristine-tar = False
+pristine-tar-commit = False
diff --git a/debian/libpcre2-16-0.install b/debian/libpcre2-16-0.install
new file mode 100644 (file)
index 0000000..8582b10
--- /dev/null
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*/libpcre2-16.so.*
diff --git a/debian/libpcre2-16-0.symbols b/debian/libpcre2-16-0.symbols
new file mode 100644 (file)
index 0000000..ca99e69
--- /dev/null
@@ -0,0 +1,3 @@
+libpcre2-16.so.0 libpcre2-16-0 #MINVER#
+ (symver)PCRE2_10.47 10.47
+ (symver)PCRE2_10.48 10.48
diff --git a/debian/libpcre2-32-0.install b/debian/libpcre2-32-0.install
new file mode 100644 (file)
index 0000000..f3dea05
--- /dev/null
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*/libpcre2-32.so.*
diff --git a/debian/libpcre2-32-0.symbols b/debian/libpcre2-32-0.symbols
new file mode 100644 (file)
index 0000000..34a7f42
--- /dev/null
@@ -0,0 +1,3 @@
+libpcre2-32.so.0 libpcre2-32-0 #MINVER#
+ (symver)PCRE2_10.47 10.47
+ (symver)PCRE2_10.48 10.48
diff --git a/debian/libpcre2-8-0-udeb.install b/debian/libpcre2-8-0-udeb.install
new file mode 100644 (file)
index 0000000..1a38dd6
--- /dev/null
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*/libpcre2-8.so.*
diff --git a/debian/libpcre2-8-0.install b/debian/libpcre2-8-0.install
new file mode 100644 (file)
index 0000000..1a38dd6
--- /dev/null
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*/libpcre2-8.so.*
diff --git a/debian/libpcre2-8-0.symbols b/debian/libpcre2-8-0.symbols
new file mode 100644 (file)
index 0000000..cf5818a
--- /dev/null
@@ -0,0 +1,3 @@
+libpcre2-8.so.0 libpcre2-8-0 #MINVER#
+ (symver)PCRE2_10.47 10.47
+ (symver)PCRE2_10.48 10.48
diff --git a/debian/libpcre2-dev.install b/debian/libpcre2-dev.install
new file mode 100644 (file)
index 0000000..52ce644
--- /dev/null
@@ -0,0 +1,6 @@
+debian/tmp/usr/include/*
+debian/tmp/usr/lib/*/lib*.a
+debian/tmp/usr/lib/*/lib*.so
+debian/tmp/usr/lib/*/pkgconfig/*
+debian/tmp/usr/bin/*-config
+debian/tmp/usr/share/man/man3/*
diff --git a/debian/libpcre2-dev.lintian-overrides b/debian/libpcre2-dev.lintian-overrides
new file mode 100644 (file)
index 0000000..80ec156
--- /dev/null
@@ -0,0 +1,2 @@
+# The multiarch-path never appears in pcre2-config output
+libpcre2-dev binary: old-style-config-script-multiarch-path
diff --git a/debian/libpcre2-dev.manpages b/debian/libpcre2-dev.manpages
new file mode 100644 (file)
index 0000000..c4b82bb
--- /dev/null
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man1/pcre2-config.1
diff --git a/debian/libpcre2-posix3.install b/debian/libpcre2-posix3.install
new file mode 100644 (file)
index 0000000..2669a04
--- /dev/null
@@ -0,0 +1 @@
+debian/tmp/usr/lib/*/libpcre2-posix.so.*
diff --git a/debian/libpcre2-posix3.symbols b/debian/libpcre2-posix3.symbols
new file mode 100644 (file)
index 0000000..df263d6
--- /dev/null
@@ -0,0 +1,3 @@
+libpcre2-posix.so.3 libpcre2-posix3 #MINVER#
+ (symver)PCRE2_10.47 10.47
+ (symver)PCRE2_10.48 10.48
diff --git a/debian/not-installed b/debian/not-installed
new file mode 100644 (file)
index 0000000..a87984c
--- /dev/null
@@ -0,0 +1,2 @@
+/usr/lib/*/libpcre2*.la
+/usr/share/doc/pcre2/*
diff --git a/debian/pcre2-utils.install b/debian/pcre2-utils.install
new file mode 100644 (file)
index 0000000..ded3f24
--- /dev/null
@@ -0,0 +1,4 @@
+debian/tmp/usr/bin/pcre2test
+debian/tmp/usr/bin/pcre2grep
+debian/tmp/usr/share/man/man1/pcre2test.1
+debian/tmp/usr/share/man/man1/pcre2grep.1
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..7a01f62
--- /dev/null
@@ -0,0 +1,32 @@
+#!/usr/bin/make -f
+# See debhelper(7)
+# output every command that modifies files on the build system.
+#DH_VERBOSE = 1
+
+# see dpkg-buildflags(1)
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/default.mk
+# prefix names of functions in libpcreposix with PCRE2 to avoid clash with
+# ones in libc.
+export DEB_CFLAGS_MAINT_APPEND = -Dregcomp=PCRE2regcomp -Dregexec=PCRE2regexec -Dregerror=PCRE2regerror -Dregfree=PCRE2regfree
+
+
+deb_maint_conf_args = --enable-pcre2-16 --enable-pcre2-32 --disable-pcre2grep-callout
+#enable JIT only on architectures that support it (see pcre2jit.3)
+ifneq ($(filter amd64 armhf arm64 i386 loong64 mips mipsel mips64el powerpc ppc64 ppc64el riscv64 s390x, $(DEB_HOST_ARCH)),)
+deb_maint_conf_args +=--enable-jit
+else
+deb_maint_conf_args +=--disable-jit
+endif
+
+%:
+       dh $@
+
+override_dh_auto_configure:
+       dh_auto_configure -- $(deb_maint_conf_args)
+
+override_dh_makeshlibs:
+       dh_makeshlibs -V --add-udeb=libpcre2-8-0-udeb
+
+override_dh_strip:
+       dh_strip --dbgsym-migration='libpcre2-dbg (<< 10.34-2~)'
diff --git a/debian/source/format b/debian/source/format
new file mode 100644 (file)
index 0000000..d3827e7
--- /dev/null
@@ -0,0 +1 @@
+1.0
diff --git a/debian/watch b/debian/watch
new file mode 100644 (file)
index 0000000..0883e43
--- /dev/null
@@ -0,0 +1,2 @@
+version=4
+  https://github.com/PCRE2Project/pcre2/releases .*/?(\d{2}\.\d{2})\.tar\.gz
index f85e12f82b3f2ef1d30b8d56539532af70d7b27e..9ec43ce6a42eab1e7fa5ee2a29ddc28f74e7aafc 100644 (file)
@@ -28,29 +28,8 @@ if test $# -eq 0; then
 fi
 
 libR=
-case `uname -s` in
-  *SunOS*)
-  libR=" -R@libdir@"
-  ;;
-  *BSD*)
-  libR=" -Wl,-R@libdir@"
-  ;;
-esac
 
 libS=
-case "@libdir@" in
-  # system locations on Linux, no -L needed
-  /usr/lib|/usr/lib32|/usr/lib64|/usr/lib/*-gnu*)
-  ;;
-  /lib|/lib32|/lib64|/lib/*-gnu*)
-  ;;
-  # system locations on AIX and Solaris, no -L needed
-  /usr/lib/64|/usr/lib/amd*|/usr/lib/sparc*|/usr/lib/ppc*)
-  ;;
-  *)
-  libS="-L@libdir@"
-  ;;
-esac
 
 while test $# -gt 0; do
   case "$1" in
index 105a1dd35887d949a14ad699a0e6f15d641e7e0a..c5da883ca141564c8cf5f5e9e7893655132db6be 100644 (file)
@@ -99,7 +99,7 @@ Fast, but limited size. */
 
 /* Growth rate for stack allocated by the OS. Should be the multiply
 of page size. */
-#define STACK_GROWTH_RATE 8192
+#define STACK_GROWTH_RATE (sljit_sw)8192
 
 /* Enable to check that the allocation could destroy temporaries. */
 #if defined SLJIT_DEBUG && SLJIT_DEBUG
@@ -473,6 +473,8 @@ typedef struct compiler_common {
   BOOL local_quit_available;
   /* Currently in a positive assertion. */
   BOOL in_positive_assertion;
+  /* More than STACK_GROWTH_RATE / 2 stack memory is allocated. */
+  BOOL large_stack_allocation;
   /* Newline control. */
   int nltype;
   sljit_u32 nlmax;
@@ -3528,6 +3530,8 @@ static SLJIT_INLINE void allocate_stack(compiler_common *common, sljit_s32 size)
 DEFINE_COMPILER;
 
 SLJIT_ASSERT(size > 0);
+if (size > (STACK_GROWTH_RATE / (SSIZE_OF(sw) * 2)))
+  common->large_stack_allocation = TRUE;
 OP2(SLJIT_SUB, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, size * SSIZE_OF(sw));
 #ifdef DESTROY_REGISTERS
 OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 12345);
@@ -14085,7 +14089,20 @@ SLJIT_ASSERT(TMP1 == SLJIT_R0 && STR_PTR == SLJIT_R1);
 
 OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LOCAL1, STR_PTR, 0);
 OP1(SLJIT_MOV, SLJIT_R0, 0, ARGUMENTS, 0);
-OP2(SLJIT_SUB, SLJIT_R1, 0, STACK_LIMIT, 0, SLJIT_IMM, STACK_GROWTH_RATE);
+if (common->large_stack_allocation)
+  {
+  SLJIT_COMPILE_ASSERT((STACK_GROWTH_RATE & (STACK_GROWTH_RATE - 1)) == 0, stack_growth_must_be_power_of_2);
+  // Negative difference. The positive difference would also use the same amount
+  // of operations, but the last subtraction emits several instructions on x86.
+  OP2(SLJIT_SUB, SLJIT_R1, 0, STACK_TOP, 0, STACK_LIMIT, 0);
+  // Minimum extra space after allocation.
+  OP2(SLJIT_SUB, SLJIT_R1, 0, SLJIT_R1, 0, SLJIT_IMM, (STACK_GROWTH_RATE / 2));
+  // Rounds down negative numbers.
+  OP2(SLJIT_AND, SLJIT_R1, 0, SLJIT_R1, 0, SLJIT_IMM, ~(STACK_GROWTH_RATE - 1));
+  OP2(SLJIT_ADD, SLJIT_R1, 0, SLJIT_R1, 0, STACK_LIMIT, 0);
+  }
+else
+  OP2(SLJIT_SUB, SLJIT_R1, 0, STACK_LIMIT, 0, SLJIT_IMM, STACK_GROWTH_RATE);
 OP1(SLJIT_MOV, SLJIT_R0, 0, SLJIT_MEM1(SLJIT_R0), SLJIT_OFFSETOF(jit_arguments, stack));
 OP1(SLJIT_MOV, STACK_LIMIT, 0, TMP2, 0);